package jin.si.com.suo;

/**
 * @description: 生产者
 * @ClassName RroRunnable
 * @Author MT
 * @Date 2021/7/4 15:03
 **/

//生产者
public class RroRunnable implements Runnable {

    private Person p;

    public RroRunnable(Person p){
        this.p=p;
    }

    int x=0;
    @Override
    public void run() {
        while(true){
            synchronized(p){
                if(p.flag){     //判断是否有数据
                    try {
                        p.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                if(x%2==0){
                    p.setAge(18);
                    p.setName("臭宝宝");
                }else{
                  p.setAge(20);
                  p.setName("小明");
                }
                x++;
                //生产完整数据为true，原因让消费者消费，生产者等待
                p.flag=true;
                p.notify();//唤醒
            }
        }
    }

}
